package comportement;

//import Integer;

import cartes.Monstre;
import common.Constantes;
import java.io.Serializable;
import plateau.Joueur;



public class ModifierNiveau implements ActionCarte, Serializable {

    protected int nombre;
    protected boolean carteDivine ;
    protected boolean volNiveau ;

    // On implémente deux méthodes pour le cas où un joueur vole ou fait perdre un niveau à l'autre joueur

    /*
     * Utiliser une carte action sur un joueur --> Vol de niveau du joueur vers joueur 2 ou malus niveau sur joueur 2
     * @param :
     *  - joueur   : le joueur qui vole un niveau au joueur 2 ou qui lui enlève un niveau sans lui voler
     *  - joueur2  : le joueur qui perd un niveau
     * @author : Antonin
     */

    public void utiliser(Joueur j, Joueur j2) {

        if(volNiveau = Boolean.TRUE)
        {
            j.upNiveau(nombre, Boolean.FALSE);

            j2.upNiveau(nombre * (-1), Boolean.FALSE);
        }
        else
        {
            j2.upNiveau(nombre *(-1), Boolean.FALSE);
        }

    }

    /*
     * Utiliser une carte action sur un joueur
     * @param :
     *  - joueur : le joueur qui va prendre/perdre un niveau
     * @author : Antonin
     */
     public void utiliser(Joueur j) {

         if(carteDivine == Boolean.TRUE)
         {
            j.upNiveau(nombre, Boolean.TRUE);
         }
         else
         {
            j.upNiveau(nombre, Boolean.FALSE);
         }

    }

    public void utiliser(Monstre m) {
    }

}